package com.jiexinyun.error;

public enum ErrorCode {

    SUCCESS(200, "成功"),
    PARAM_ERROR(400, "参数错误"),
    UNAUTHORIZED(401, "未授权"),
    FORBIDDEN(403, "禁止访问"),
    NOT_FOUND(404, "资源未找到"),
    INTERNAL_ERROR(500, "服务错误"), //不知道怎么设计错误码时，尽量使用这个作为通用错误码
    OPERATE_FAIL(600, "操作失败"), //不知道怎么设计错误码时，尽量使用这个作为通用错误码




    // 自定义业务错误码
    USER_NOT_FOUND(1001, "用户不存在或者被禁用了"),
    USER_EXISTS(1002, "用户已存在"),
    USER_MULTI(1009, "同一用户名用户过多，请检查"),
    USER_NOUSE(1021, "禁用的用户不能修改"),
    USER_ALREADY_DISABLED(1017, "用户已经被禁用过了"),
    USER_OLD_PASSWORD_ERROR(1010, "输入的旧密码有误"),
    USER_OLD_NEW_PASSWORD_EQUAL_ERROR(1011, "新旧密码不能相同"),
    ROLE_NOT_FOUND(1003, "角色不存在"),
    ROLE_IN_USE_WITH_USER(1015, "存在有效用户配置了角色，不能删除此角色"),
    ROLE_IN_USE_WITH_PERM(1016, "有角色正在使用此权限，不能删除"),
    PERM_NOT_FOUND(1004, "权限不存在"),
    PERM_EXISTS(1005, "权限已存在"),
    PARENT_PERM_NOT_EXISTS(1012, "上级权限不存在"),
    PARENT_PERM_NO_USE(1024, "上级权限被禁用"),
    PARENT_PERM_MULTI(1013, "上级权限过多"),
    PERM_MULTI(1010, "同一权限过多，请检查"),
    ROLE_EXISTS(1006, "角色已存在"),
    LOGIN_FAIL(1007, "登录失败，用户名或密码错误"),
    USER_NOT_INUSE(1008, "用户被禁用，不能登录"),
    ROLE_MULTI(1011, "同一角色过多，请检查"),
    ROLE_NOUSE(1018, "禁用的角色不能修改"),
    BTN_NEED_PERM_VALUE(1025, "按钮类型需要权限值"),

    PERM_HIGHIST_ONLY_MOD(1025, "最高级目录下只能建普通目录权限"),
    PERM_MOD_ONLY_MOD_MENU(1025, "普通目录下只能建普通目录或者菜单权限"),
    PERM_MENU_ONLY_BTN(1025, "菜单下建权限，只能是按钮"),
    PERM_BTN_CANNOT_BTN(1085, "按钮下不能再建按钮"),
    HIGHIST_MOD_UNALLOWED_ADD(1025, "最高目录不允许添加"),


    GRANT_PERMS_TO_SUBMIT(1030, "权限需要配置才能提交"),
    DEPT_NOT_FOND(1036,"部门不存在"),
    DEPT_EXISTS(1037, "部门已存在"),

    POST_NOT_FOND(1038,"岗位不存在"),
    POST_EXISTS(1039, "岗位已存在"),

    //这个错误码不能轻易改，前端需要
    MUST_CHECKED_MANI(10040, "有子级设备清单，就只能选择子级设备清单"),

    WEIHU(11000, "请联系维护人员");

    private final int code; // 错误码
    private final String message; // 错误信息

    ErrorCode(int code, String message) {
        this.code = code;
        this.message = message;
    }

    public int getCode() {
        return code;
    }

    public String getMessage() {
        return message;
    }
}
